1. Technical Field of the Invention
The present invention relates in general to interfaces for communicating data in an integrated circuit environment, and in particular to a method and system for communicating data over shared bus lines using multiple interfaces.
2. Description of Related Art
Communications between integrated circuits and other devices in many applications use the Intelligent Interconnection Communication (I.sup.2 C), or Inter-IC, serial interface developed by Philips Semiconductors. In the telecommunications industry, for example, mobile telephones frequently use the I.sup.2 C interface protocol to communicate between the base band controller, which is typically an application specific integrated circuit (ASIC), and the LCD module. Other devices within mobile telephones also use the I.sup.2 C interface protocol to receive data (including commands) from, and transmit data to, the base band controller.
However, because the I.sup.2 C interface is subject to certain patent protections, developers of LCD drivers and other drivers must normally obtain a license to be able to manufacture drivers that support the I.sup.2 C interface protocol. As a result, the supply of off-the-shelf drivers that support I.sup.2 C is often limited. With the ever shortening development cycles in the mobile telecommunications industry and other industries that use the I.sup.2 C interface protocol, there is not always time to custom develop a driver that supports I.sup.2 C.
On the other hand, many of the existing off-the-shelf drivers support a serial point-to-point interface protocol that uses four lines: a data line, a clock line, a line specifying either command data or display data, and a chip select line. One alternative to having to custom develop a driver that supports I.sup.2 C is to construct the base band controller or other ASIC to support both the I.sup.2 C interface protocol and the serial point-to-point interface protocol. Additional devices can then be added using either a driver that supports the I.sup.2 C interface protocol or a driver that supports a serial point-to-point interface protocol, depending on availability, cost, and functional considerations. To support two interfaces, however, four extra I/O pins (for each of the four serial point-to-point interface lines) are needed on the base band controller. This requirement is problematic because I/O pins add expense and require additional space. In addition, while systems that support multiple interface protocols using shared bus lines have been suggested, such systems are complex, inflexible, and difficult to implement.
There is a need, therefore, for a simplified, flexible method and system that allows communications between an integrated circuit and one or more other devices using one of a plurality of available interface protocols via shared bus lines. The system should include a minimal number of I/O pins. Such a method and system would permit, for example, the use of a driver that supports I.sup.2 C, when available, or a serial point-to-point driver, if an I.sup.2 C driver is not available or if different capabilities are desired. In addition, such a method and system would permit the integrated circuit to selectively use different interface protocols depending on which protocol is supported by the device with which the integrated circuit is communicating.